With the development of computer technology, the development of application systems has undergone various changes. In an early developed application system, a control rule for controlling the business flow is closely coupled to source code (e.g., embedded into source code); as a result, after the application system is developed, the control rule cannot be modified flexibly, and in turn the flexibility of the application system is rather poor. In addition, the development of computer technology promotes the evolution of programming languages. Most of early programming languages (such as COBOL, C, etc.) adopt a procedure-oriented programming model, whereas in recent years' popular programming languages (such as C++, Java, etc.) all adopt an object-oriented programming model.
In industries like electric power, finance and so on, there exist a large amount of legacy application systems developed using early programming languages, and these legacy application systems already become a core system in various industries. Techniques of legacy application systems are out of date and are gradually replaced by new techniques (such as the object-oriented programming model) and new platforms (cloud environment). Thereby, it becomes a focus of attention as to how to achieve modernization with respect to an early developed application system where the control rule is closely coupled to source code.
During modernization, first of all a knowledge of various business procedures of the legacy application system need to be understood; then, a business rule involved in various business procedures is analyzed; and later, the modernization of the legacy application system is achieved on the basis of the business rule. Existing technical solutions usually require technicians with rich programming experience to manually read source code of the legacy application system and further obtain a relevant business rule. On the one hand, huge manpower, material resources and time overheads are needed; on the other hand, with the rapid development of programming languages, technicians who are proficient in early programming languages (such as COBOL) can hardly be found now.
Therefore, how to generate a business rule model from source code of a legacy application system without manual manipulation is a key issue confronting the application system modernization.